草庐IT

sql - ASP.NET 站点地图

全部标签

sql-server - 在具有切碎/扁平 xml 字段的大表上更快地选择

给定一个包含如下记录的MSSQLEXPRESS2008R2表ArchiveIdScheduleIdData39106362....39106462....39106563....DataField中的XML结构如下1.02.03.04.0使用以下捕获进行选择的最快方法是什么查询需要返回超过200万行!由ScheduleId返回返回“数据”列Value节点切碎成列并为返回的每一行包含id字段archiveid和scheduleid每个ScheduleId的“值”元素的数量是可变的,但对于给定的ScheduleId总是相同的永远只有中的节点节点,它们总是数字表最多可以有5000万行,目前仅

sql-server - 将 varchar() 中的重音字符转换为 XML 导致 "illegal XML character"

我有一个应用程序写入的表。该字段是varchar(max)。数据看起来像xml。DECLARE@poitVARCHAR(100)SET@poit='VÍA'SELECTCONVERT(XML,@poit)但是(似乎是因为UTF8;删除它有效),我收到此错误:XMLparsing:line1,character46,illegalxmlcharacter有没有办法干净地转换它?我找到了这个线程,它讨论了varchar不支持“非ASCII字符”,但显然I是非unicode。是的,我可以这样做:SELECTCONVERT(XML,REPLACE(@poit,'encoding="utf-8"

sql - 使用 T-SQL 中另一个(非 XML)列的值更新 XML

我有一个表,其中包含两个NUMERIC类型的字段和一个XML类型的字段。这是一个粗略的示例:CREATETABLEbooks(IDINTNOTNULL,priceNUMERIC(4,2),discountNUMERIC(2,2),bookXML);XML值看起来像,比方说,HarryPotterJKRowlingBurkeandBurkinsSomeSt,Somewhere,SomeCity现在我的问题是,使用xml.modify(),我如何在Store下添加两个xpath,其中包含来自books.price和books.discount?HarryPotterJKRowlingBur

sql-server - 埋在节点内的 XML 值

我全新XML,但不是SQL。我有我们的应用程序供应商构建的数据,我正在尝试将其加载到表中:通过这里的其他帖子,我发现并得到了创建:selectt.x.value('(id[@Value]/text())[1]','varchar(100)')QuestionID,t.x.value('(displayname[@Value]/text())[1]','varchar(255)')DisplayName,t.x.value('(answername[@Value]/text())[1]','varchar(255)')AnswerNamefrom@xmlData.nodes('//win

sql-server - 在 SQL Server : how do I remove empty elements from nested elements when LEFT OUTER JOIN'ing 中使用 FOR XML AUTO 时

[编辑]:添加了RAW测试和更好的示例代码我需要为运行SQLServer2005的遗留应用程序生成XML,我希望使用FORXML函数。但是,当左外连接返回null时,我似乎无法摆脱空元素。我在下面创建了一些测试数据。我得到的结果(自动):我得到的结果(RAW):我想要的结果:测试代码:IFOBJECT_ID('tempdb..#name')ISNOTNULLBEGINDROPTABLE#nameENDSELECT*INTO#nameFROM(SELECT1id,'test1'NameUNIONALLSELECT2id,'test2'Name)tIFOBJECT_ID('tempdb..

sql-server - 从 openxml 中选择,将多个节点值连接到一个字符串

我有带有多个标签的XML,需要将一些值连接到一个字符串以进行输出。这适用于MSSQL2012DECLARE@XMLASXML,@hDocASINTSELECT@XML='AAA1A1BA1CAAA2A2BA2C1&A2C2<';EXECsp_xml_preparedocument@hDocOUTPUT,@XMLSELECTa,ParamB,ParamCFROMOPENXML(@hDoc,'offers/offer')WITH(a[varchar](50)'a',ParamB[varchar](255)'param[@name="B"]',ParamC[varchar](2

.net - Xpath 和 XmlNameSpace

我有以下XML我需要使用XmlDocument.NET类的Select(xpath_expression)方法访问元素“ImageViewDetail”。以下代码无效xmlDocument.Select("//Item/AddendA/ImageViewDetail");除非我删除xmlns="urn:schemas-ncr-com:ECPIX:CXF:FileStructure:020001"来自“FileHeader”标签在这里处理命名空间的正确方法是什么?谢谢, 最佳答案 使用XmlNamespaceManager和xpath

sql - 如何通过 "nodes"命令在 SQL XML 查询中使用命名空间?

我正在尝试从以下XML查询中查询字段(这实际上是一个网络服务调用):54325354325TestBranchNameTempWorksUserName[...]使用以下XML查询:WITHXMLNAMESPACES('[schema]'ASsoap2,DEFAULT'[schema]')SELECTTransactionID,T2.Loc.query('data(Request/SubscriberCode)')as'SubscriberCode'FROMTempWorksRequestCROSSAPPLYRequestXML.nodes('soap2:Envelope/soap2:

.net - 为什么我必须将空命名空间传递给 XPathNavigator.GetAttribute?

给定以下XML标记:和一个XPathNavigator位于元素,stringwithNs=navigator.GetAttribute("name",navigator.NamespaceURI);stringwithoutNs=navigator.GetAttribute("name","");产生奇怪的结果:withNs是空的,withoutNs包含foo.这是为什么呢?我原以为会是相反的方式,因为name属性必须在Demo中命名空间,例如child元素。MSDN文档没有提到传递namespaceURI=""的任何神奇含义,所以我假设您必须传递属性的真实namespaceURI。

sql-server - 如何在 SQL Server 2008 中查询 XML 列

我正在使用SQLServer2008我有一个包含xml数据的表,如下所示:IDxml_col11.0AAA22.0BBB33.0AAA41.0BBB51.0AAA67.0CCC我想得到那些记录'whenattribute=17thenvalue=1'+'whenattribute=8thenvalue='AAA''如何创建查询以及如何构建xml索引?非常感谢。 最佳答案 要选择符合您提到的条件的所有行,请尝试此选择语句:SELECT*FROMdbo.YourXmlTableWHEREYourXmlTable.xml_col.valu